{ "best_metric": 0.5993568897247314, "best_model_checkpoint": "ckpts/discrim/contrastive_models/gen.t5.large/flan_t5_large_tso/checkpoint-7200", "epoch": 1.9380888290713325, "global_step": 7200, "is_hyper_param_search": false, "is_local_process_zero": true, "is_world_process_zero": true, "log_history": [ { "epoch": 0.01, "learning_rate": 2.6905829596412554e-06, "loss": 0.9993, "step": 50 }, { "epoch": 0.03, "learning_rate": 5.381165919282511e-06, "loss": 0.9989, "step": 100 }, { "epoch": 0.04, "learning_rate": 8.071748878923767e-06, "loss": 0.9961, "step": 150 }, { "epoch": 0.05, "learning_rate": 1.0762331838565022e-05, "loss": 0.986, "step": 200 }, { "epoch": 0.05, "eval_loss": 0.979211688041687, "eval_runtime": 304.3772, "eval_samples_per_second": 77.296, "eval_steps_per_second": 9.662, "step": 200 }, { "epoch": 0.07, "learning_rate": 1.345291479820628e-05, "loss": 0.949, "step": 250 }, { "epoch": 0.08, "learning_rate": 1.6143497757847534e-05, "loss": 0.8611, "step": 300 }, { "epoch": 0.09, "learning_rate": 1.883408071748879e-05, "loss": 0.7761, "step": 350 }, { "epoch": 0.11, "learning_rate": 2.1524663677130043e-05, "loss": 0.7103, "step": 400 }, { "epoch": 0.11, "eval_loss": 0.73173987865448, "eval_runtime": 304.6199, "eval_samples_per_second": 77.234, "eval_steps_per_second": 9.655, "step": 400 }, { "epoch": 0.12, "learning_rate": 2.42152466367713e-05, "loss": 0.6447, "step": 450 }, { "epoch": 0.13, "learning_rate": 2.690582959641256e-05, "loss": 0.6239, "step": 500 }, { "epoch": 0.15, "learning_rate": 2.9596412556053812e-05, "loss": 0.6433, "step": 550 }, { "epoch": 0.16, "learning_rate": 3.228699551569507e-05, "loss": 0.5925, "step": 600 }, { "epoch": 0.16, "eval_loss": 0.7419408559799194, "eval_runtime": 305.2185, "eval_samples_per_second": 77.082, "eval_steps_per_second": 9.636, "step": 600 }, { "epoch": 0.17, "learning_rate": 3.4977578475336325e-05, "loss": 0.5665, "step": 650 }, { "epoch": 0.19, "learning_rate": 3.766816143497758e-05, "loss": 0.5167, "step": 700 }, { "epoch": 0.2, "learning_rate": 4.035874439461884e-05, "loss": 0.5378, "step": 750 }, { "epoch": 0.22, "learning_rate": 4.304932735426009e-05, "loss": 0.4876, "step": 800 }, { "epoch": 0.22, "eval_loss": 0.7308951020240784, "eval_runtime": 305.4422, "eval_samples_per_second": 77.026, "eval_steps_per_second": 9.629, "step": 800 }, { "epoch": 0.23, "learning_rate": 4.573991031390134e-05, "loss": 0.4874, "step": 850 }, { "epoch": 0.24, "learning_rate": 4.84304932735426e-05, "loss": 0.4476, "step": 900 }, { "epoch": 0.26, "learning_rate": 5.1121076233183856e-05, "loss": 0.4695, "step": 950 }, { "epoch": 0.27, "learning_rate": 5.381165919282512e-05, "loss": 0.4334, "step": 1000 }, { "epoch": 0.27, "eval_loss": 0.6671885848045349, "eval_runtime": 305.4747, "eval_samples_per_second": 77.018, "eval_steps_per_second": 9.628, "step": 1000 }, { "epoch": 0.28, "learning_rate": 5.6502242152466375e-05, "loss": 0.389, "step": 1050 }, { "epoch": 0.3, "learning_rate": 5.9192825112107625e-05, "loss": 0.3758, "step": 1100 }, { "epoch": 0.31, "learning_rate": 5.999940510930071e-05, "loss": 0.3737, "step": 1150 }, { "epoch": 0.32, "learning_rate": 5.999649141573284e-05, "loss": 0.3586, "step": 1200 }, { "epoch": 0.32, "eval_loss": 0.6958568096160889, "eval_runtime": 305.3709, "eval_samples_per_second": 77.044, "eval_steps_per_second": 9.631, "step": 1200 }, { "epoch": 0.34, "learning_rate": 5.9991149889189245e-05, "loss": 0.3154, "step": 1250 }, { "epoch": 0.35, "learning_rate": 5.9983380961998294e-05, "loss": 0.3202, "step": 1300 }, { "epoch": 0.36, "learning_rate": 5.997318526295544e-05, "loss": 0.3232, "step": 1350 }, { "epoch": 0.38, "learning_rate": 5.996056361727235e-05, "loss": 0.3016, "step": 1400 }, { "epoch": 0.38, "eval_loss": 0.6629464030265808, "eval_runtime": 305.4391, "eval_samples_per_second": 77.027, "eval_steps_per_second": 9.629, "step": 1400 }, { "epoch": 0.39, "learning_rate": 5.9945517046510075e-05, "loss": 0.2673, "step": 1450 }, { "epoch": 0.4, "learning_rate": 5.992804676849642e-05, "loss": 0.2558, "step": 1500 }, { "epoch": 0.42, "learning_rate": 5.990815419722729e-05, "loss": 0.2566, "step": 1550 }, { "epoch": 0.43, "learning_rate": 5.988584094275237e-05, "loss": 0.2496, "step": 1600 }, { "epoch": 0.43, "eval_loss": 0.6636276841163635, "eval_runtime": 305.4888, "eval_samples_per_second": 77.014, "eval_steps_per_second": 9.627, "step": 1600 }, { "epoch": 0.44, "learning_rate": 5.9861108811044676e-05, "loss": 0.2273, "step": 1650 }, { "epoch": 0.46, "learning_rate": 5.983395980385451e-05, "loss": 0.2121, "step": 1700 }, { "epoch": 0.47, "learning_rate": 5.9804396118547345e-05, "loss": 0.1966, "step": 1750 }, { "epoch": 0.48, "learning_rate": 5.977242014792602e-05, "loss": 0.1929, "step": 1800 }, { "epoch": 0.48, "eval_loss": 0.6448654532432556, "eval_runtime": 305.5903, "eval_samples_per_second": 76.989, "eval_steps_per_second": 9.624, "step": 1800 }, { "epoch": 0.5, "learning_rate": 5.9738034480037094e-05, "loss": 0.1797, "step": 1850 }, { "epoch": 0.51, "learning_rate": 5.970124189796133e-05, "loss": 0.1807, "step": 1900 }, { "epoch": 0.52, "learning_rate": 5.966204537958846e-05, "loss": 0.1438, "step": 1950 }, { "epoch": 0.54, "learning_rate": 5.962044809737618e-05, "loss": 0.1721, "step": 2000 }, { "epoch": 0.54, "eval_loss": 0.6665562391281128, "eval_runtime": 305.4858, "eval_samples_per_second": 77.015, "eval_steps_per_second": 9.627, "step": 2000 }, { "epoch": 0.55, "learning_rate": 5.957645341809336e-05, "loss": 0.1555, "step": 2050 }, { "epoch": 0.57, "learning_rate": 5.953006490254755e-05, "loss": 0.1543, "step": 2100 }, { "epoch": 0.58, "learning_rate": 5.9481286305296774e-05, "loss": 0.1498, "step": 2150 }, { "epoch": 0.59, "learning_rate": 5.943012157434567e-05, "loss": 0.1495, "step": 2200 }, { "epoch": 0.59, "eval_loss": 0.6751571893692017, "eval_runtime": 305.7212, "eval_samples_per_second": 76.956, "eval_steps_per_second": 9.62, "step": 2200 }, { "epoch": 0.61, "learning_rate": 5.9376574850825905e-05, "loss": 0.1206, "step": 2250 }, { "epoch": 0.62, "learning_rate": 5.9320650468661066e-05, "loss": 0.1261, "step": 2300 }, { "epoch": 0.63, "learning_rate": 5.926235295421582e-05, "loss": 0.1173, "step": 2350 }, { "epoch": 0.65, "learning_rate": 5.92016870259296e-05, "loss": 0.1132, "step": 2400 }, { "epoch": 0.65, "eval_loss": 0.7012338638305664, "eval_runtime": 305.6366, "eval_samples_per_second": 76.977, "eval_steps_per_second": 9.623, "step": 2400 }, { "epoch": 0.66, "learning_rate": 5.9138657593934704e-05, "loss": 0.1225, "step": 2450 }, { "epoch": 0.67, "learning_rate": 5.907326975965887e-05, "loss": 0.112, "step": 2500 }, { "epoch": 0.69, "learning_rate": 5.9005528815412394e-05, "loss": 0.1105, "step": 2550 }, { "epoch": 0.7, "learning_rate": 5.893544024395977e-05, "loss": 0.1058, "step": 2600 }, { "epoch": 0.7, "eval_loss": 0.6904404163360596, "eval_runtime": 305.6312, "eval_samples_per_second": 76.978, "eval_steps_per_second": 9.623, "step": 2600 }, { "epoch": 0.71, "learning_rate": 5.886300971807594e-05, "loss": 0.0855, "step": 2650 }, { "epoch": 0.73, "learning_rate": 5.878824310008718e-05, "loss": 0.088, "step": 2700 }, { "epoch": 0.74, "learning_rate": 5.871114644139656e-05, "loss": 0.0926, "step": 2750 }, { "epoch": 0.75, "learning_rate": 5.86317259819942e-05, "loss": 0.1057, "step": 2800 }, { "epoch": 0.75, "eval_loss": 0.6426856517791748, "eval_runtime": 305.7094, "eval_samples_per_second": 76.959, "eval_steps_per_second": 9.62, "step": 2800 }, { "epoch": 0.77, "learning_rate": 5.854998814995223e-05, "loss": 0.0846, "step": 2850 }, { "epoch": 0.78, "learning_rate": 5.846593956090451e-05, "loss": 0.0838, "step": 2900 }, { "epoch": 0.79, "learning_rate": 5.837958701751115e-05, "loss": 0.0827, "step": 2950 }, { "epoch": 0.81, "learning_rate": 5.8290937508907975e-05, "loss": 0.0818, "step": 3000 }, { "epoch": 0.81, "eval_loss": 0.6715692281723022, "eval_runtime": 305.6575, "eval_samples_per_second": 76.972, "eval_steps_per_second": 9.622, "step": 3000 }, { "epoch": 0.82, "learning_rate": 5.819999821014079e-05, "loss": 0.114, "step": 3050 }, { "epoch": 0.83, "learning_rate": 5.81067764815847e-05, "loss": 0.0742, "step": 3100 }, { "epoch": 0.85, "learning_rate": 5.801127986834834e-05, "loss": 0.0764, "step": 3150 }, { "epoch": 0.86, "learning_rate": 5.791351609966323e-05, "loss": 0.0893, "step": 3200 }, { "epoch": 0.86, "eval_loss": 0.6607950329780579, "eval_runtime": 305.6387, "eval_samples_per_second": 76.977, "eval_steps_per_second": 9.622, "step": 3200 }, { "epoch": 0.87, "learning_rate": 5.781349308825816e-05, "loss": 0.2025, "step": 3250 }, { "epoch": 0.89, "learning_rate": 5.7711218929718786e-05, "loss": 0.3151, "step": 3300 }, { "epoch": 0.9, "learning_rate": 5.760670190183236e-05, "loss": 0.3307, "step": 3350 }, { "epoch": 0.92, "learning_rate": 5.74999504639178e-05, "loss": 0.3306, "step": 3400 }, { "epoch": 0.92, "eval_loss": 0.7396358251571655, "eval_runtime": 305.7093, "eval_samples_per_second": 76.959, "eval_steps_per_second": 9.62, "step": 3400 }, { "epoch": 0.93, "learning_rate": 5.739097325614097e-05, "loss": 0.3255, "step": 3450 }, { "epoch": 0.94, "learning_rate": 5.727977909881537e-05, "loss": 0.317, "step": 3500 }, { "epoch": 0.96, "learning_rate": 5.716637699168828e-05, "loss": 0.3187, "step": 3550 }, { "epoch": 0.97, "learning_rate": 5.705077611321233e-05, "loss": 0.3105, "step": 3600 }, { "epoch": 0.97, "eval_loss": 0.7177180051803589, "eval_runtime": 305.5872, "eval_samples_per_second": 76.989, "eval_steps_per_second": 9.624, "step": 3600 }, { "epoch": 0.98, "learning_rate": 5.69329858198026e-05, "loss": 0.3129, "step": 3650 }, { "epoch": 1.0, "learning_rate": 5.6813015645079355e-05, "loss": 0.3237, "step": 3700 }, { "epoch": 1.01, "learning_rate": 5.6690875299096415e-05, "loss": 0.2951, "step": 3750 }, { "epoch": 1.02, "learning_rate": 5.656657466755528e-05, "loss": 0.2882, "step": 3800 }, { "epoch": 1.02, "eval_loss": 0.7239081263542175, "eval_runtime": 305.6494, "eval_samples_per_second": 76.974, "eval_steps_per_second": 9.622, "step": 3800 }, { "epoch": 1.04, "learning_rate": 5.6440123811004955e-05, "loss": 0.3036, "step": 3850 }, { "epoch": 1.05, "learning_rate": 5.631153296402772e-05, "loss": 0.2988, "step": 3900 }, { "epoch": 1.06, "learning_rate": 5.6180812534410734e-05, "loss": 0.2982, "step": 3950 }, { "epoch": 1.08, "learning_rate": 5.604797310230373e-05, "loss": 0.3034, "step": 4000 }, { "epoch": 1.08, "eval_loss": 0.7187855243682861, "eval_runtime": 305.6191, "eval_samples_per_second": 76.981, "eval_steps_per_second": 9.623, "step": 4000 }, { "epoch": 1.09, "learning_rate": 5.591302541936257e-05, "loss": 0.3056, "step": 4050 }, { "epoch": 1.1, "learning_rate": 5.577598040787914e-05, "loss": 0.3106, "step": 4100 }, { "epoch": 1.12, "learning_rate": 5.5636849159897306e-05, "loss": 0.3083, "step": 4150 }, { "epoch": 1.13, "learning_rate": 5.54956429363151e-05, "loss": 0.2335, "step": 4200 }, { "epoch": 1.13, "eval_loss": 0.6692826747894287, "eval_runtime": 305.6153, "eval_samples_per_second": 76.982, "eval_steps_per_second": 9.623, "step": 4200 }, { "epoch": 1.14, "learning_rate": 5.535237316597337e-05, "loss": 0.0927, "step": 4250 }, { "epoch": 1.16, "learning_rate": 5.5207051444730707e-05, "loss": 0.0937, "step": 4300 }, { "epoch": 1.17, "learning_rate": 5.505968953452494e-05, "loss": 0.0998, "step": 4350 }, { "epoch": 1.18, "learning_rate": 5.4910299362421125e-05, "loss": 0.0881, "step": 4400 }, { "epoch": 1.18, "eval_loss": 0.6463451385498047, "eval_runtime": 305.7621, "eval_samples_per_second": 76.945, "eval_steps_per_second": 9.619, "step": 4400 }, { "epoch": 1.2, "learning_rate": 5.4758893019646234e-05, "loss": 0.0694, "step": 4450 }, { "epoch": 1.21, "learning_rate": 5.460548276061054e-05, "loss": 0.0806, "step": 4500 }, { "epoch": 1.22, "learning_rate": 5.4450081001915694e-05, "loss": 0.0735, "step": 4550 }, { "epoch": 1.24, "learning_rate": 5.429270032134986e-05, "loss": 0.0686, "step": 4600 }, { "epoch": 1.24, "eval_loss": 0.7035936117172241, "eval_runtime": 305.6859, "eval_samples_per_second": 76.965, "eval_steps_per_second": 9.621, "step": 4600 }, { "epoch": 1.25, "learning_rate": 5.413335345686963e-05, "loss": 0.0751, "step": 4650 }, { "epoch": 1.27, "learning_rate": 5.397205330556912e-05, "loss": 0.0794, "step": 4700 }, { "epoch": 1.28, "learning_rate": 5.380881292263602e-05, "loss": 0.0738, "step": 4750 }, { "epoch": 1.29, "learning_rate": 5.364364552029504e-05, "loss": 0.07, "step": 4800 }, { "epoch": 1.29, "eval_loss": 0.6865878701210022, "eval_runtime": 305.6253, "eval_samples_per_second": 76.98, "eval_steps_per_second": 9.623, "step": 4800 }, { "epoch": 1.31, "learning_rate": 5.347656446673849e-05, "loss": 0.0601, "step": 4850 }, { "epoch": 1.32, "learning_rate": 5.330758328504432e-05, "loss": 0.0622, "step": 4900 }, { "epoch": 1.33, "learning_rate": 5.313671565208157e-05, "loss": 0.0617, "step": 4950 }, { "epoch": 1.35, "learning_rate": 5.296397539740344e-05, "loss": 0.0655, "step": 5000 }, { "epoch": 1.35, "eval_loss": 0.6813921332359314, "eval_runtime": 305.6628, "eval_samples_per_second": 76.97, "eval_steps_per_second": 9.622, "step": 5000 }, { "epoch": 1.36, "learning_rate": 5.2789376502127956e-05, "loss": 0.0621, "step": 5050 }, { "epoch": 1.37, "learning_rate": 5.261293309780635e-05, "loss": 0.0651, "step": 5100 }, { "epoch": 1.39, "learning_rate": 5.243465946527933e-05, "loss": 0.0529, "step": 5150 }, { "epoch": 1.4, "learning_rate": 5.225457003352119e-05, "loss": 0.0483, "step": 5200 }, { "epoch": 1.4, "eval_loss": 0.6487281322479248, "eval_runtime": 305.6821, "eval_samples_per_second": 76.966, "eval_steps_per_second": 9.621, "step": 5200 }, { "epoch": 1.41, "learning_rate": 5.207267937847198e-05, "loss": 0.0554, "step": 5250 }, { "epoch": 1.43, "learning_rate": 5.188900222185781e-05, "loss": 0.066, "step": 5300 }, { "epoch": 1.44, "learning_rate": 5.170355342999926e-05, "loss": 0.0502, "step": 5350 }, { "epoch": 1.45, "learning_rate": 5.151634801260815e-05, "loss": 0.0467, "step": 5400 }, { "epoch": 1.45, "eval_loss": 0.6819436550140381, "eval_runtime": 305.7363, "eval_samples_per_second": 76.952, "eval_steps_per_second": 9.619, "step": 5400 }, { "epoch": 1.47, "learning_rate": 5.132740112157274e-05, "loss": 0.0439, "step": 5450 }, { "epoch": 1.48, "learning_rate": 5.1136728049731315e-05, "loss": 0.0467, "step": 5500 }, { "epoch": 1.49, "learning_rate": 5.0944344229634474e-05, "loss": 0.0454, "step": 5550 }, { "epoch": 1.51, "learning_rate": 5.075026523229604e-05, "loss": 0.0461, "step": 5600 }, { "epoch": 1.51, "eval_loss": 0.6921408176422119, "eval_runtime": 305.7277, "eval_samples_per_second": 76.954, "eval_steps_per_second": 9.62, "step": 5600 }, { "epoch": 1.52, "learning_rate": 5.055450676593277e-05, "loss": 0.0496, "step": 5650 }, { "epoch": 1.53, "learning_rate": 5.0357084674693044e-05, "loss": 0.0376, "step": 5700 }, { "epoch": 1.55, "learning_rate": 5.015801493737437e-05, "loss": 0.0465, "step": 5750 }, { "epoch": 1.56, "learning_rate": 4.995731366613022e-05, "loss": 0.0473, "step": 5800 }, { "epoch": 1.56, "eval_loss": 0.6527886986732483, "eval_runtime": 305.6041, "eval_samples_per_second": 76.985, "eval_steps_per_second": 9.624, "step": 5800 }, { "epoch": 1.57, "learning_rate": 4.975499710516589e-05, "loss": 0.0377, "step": 5850 }, { "epoch": 1.59, "learning_rate": 4.9551081629423734e-05, "loss": 0.0462, "step": 5900 }, { "epoch": 1.6, "learning_rate": 4.934558374325787e-05, "loss": 0.0378, "step": 5950 }, { "epoch": 1.62, "learning_rate": 4.913852007909832e-05, "loss": 0.0477, "step": 6000 }, { "epoch": 1.62, "eval_loss": 0.6821478605270386, "eval_runtime": 305.5702, "eval_samples_per_second": 76.994, "eval_steps_per_second": 9.625, "step": 6000 }, { "epoch": 1.63, "learning_rate": 4.8929907396104834e-05, "loss": 0.0443, "step": 6050 }, { "epoch": 1.64, "learning_rate": 4.871976257881049e-05, "loss": 0.0551, "step": 6100 }, { "epoch": 1.66, "learning_rate": 4.850810263575504e-05, "loss": 0.0518, "step": 6150 }, { "epoch": 1.67, "learning_rate": 4.829494469810834e-05, "loss": 0.0343, "step": 6200 }, { "epoch": 1.67, "eval_loss": 0.6623004078865051, "eval_runtime": 305.5922, "eval_samples_per_second": 76.988, "eval_steps_per_second": 9.624, "step": 6200 }, { "epoch": 1.68, "learning_rate": 4.808030601828378e-05, "loss": 0.0461, "step": 6250 }, { "epoch": 1.7, "learning_rate": 4.7864203968541914e-05, "loss": 0.0404, "step": 6300 }, { "epoch": 1.71, "learning_rate": 4.7646656039584416e-05, "loss": 0.0303, "step": 6350 }, { "epoch": 1.72, "learning_rate": 4.742767983913842e-05, "loss": 0.0376, "step": 6400 }, { "epoch": 1.72, "eval_loss": 0.653499186038971, "eval_runtime": 305.6562, "eval_samples_per_second": 76.972, "eval_steps_per_second": 9.622, "step": 6400 }, { "epoch": 1.74, "learning_rate": 4.720729309053138e-05, "loss": 0.0402, "step": 6450 }, { "epoch": 1.75, "learning_rate": 4.698551363125665e-05, "loss": 0.0254, "step": 6500 }, { "epoch": 1.76, "learning_rate": 4.67623594115297e-05, "loss": 0.0386, "step": 6550 }, { "epoch": 1.78, "learning_rate": 4.6537848492835324e-05, "loss": 0.033, "step": 6600 }, { "epoch": 1.78, "eval_loss": 0.696467399597168, "eval_runtime": 305.7738, "eval_samples_per_second": 76.943, "eval_steps_per_second": 9.618, "step": 6600 }, { "epoch": 1.79, "learning_rate": 4.631199904646576e-05, "loss": 0.0262, "step": 6650 }, { "epoch": 1.8, "learning_rate": 4.608482935204997e-05, "loss": 0.0298, "step": 6700 }, { "epoch": 1.82, "learning_rate": 4.585635779607416e-05, "loss": 0.0288, "step": 6750 }, { "epoch": 1.83, "learning_rate": 4.562660287039358e-05, "loss": 0.044, "step": 6800 }, { "epoch": 1.83, "eval_loss": 0.6436501741409302, "eval_runtime": 305.7319, "eval_samples_per_second": 76.953, "eval_steps_per_second": 9.62, "step": 6800 }, { "epoch": 1.84, "learning_rate": 4.539558317073588e-05, "loss": 0.0322, "step": 6850 }, { "epoch": 1.86, "learning_rate": 4.516331739519603e-05, "loss": 0.0363, "step": 6900 }, { "epoch": 1.87, "learning_rate": 4.492982434272291e-05, "loss": 0.0285, "step": 6950 }, { "epoch": 1.88, "learning_rate": 4.469512291159781e-05, "loss": 0.0305, "step": 7000 }, { "epoch": 1.88, "eval_loss": 0.6893681287765503, "eval_runtime": 305.7064, "eval_samples_per_second": 76.959, "eval_steps_per_second": 9.62, "step": 7000 }, { "epoch": 1.9, "learning_rate": 4.4459232097904836e-05, "loss": 0.0292, "step": 7050 }, { "epoch": 1.91, "learning_rate": 4.4222170993993444e-05, "loss": 0.0346, "step": 7100 }, { "epoch": 1.92, "learning_rate": 4.3983958786933116e-05, "loss": 0.0296, "step": 7150 }, { "epoch": 1.94, "learning_rate": 4.374461475696044e-05, "loss": 0.0363, "step": 7200 }, { "epoch": 1.94, "eval_loss": 0.5993568897247314, "eval_runtime": 305.6394, "eval_samples_per_second": 76.976, "eval_steps_per_second": 9.622, "step": 7200 } ], "max_steps": 18575, "num_train_epochs": 5, "total_flos": 0.0, "trial_name": null, "trial_params": null }